package com.sangeng.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sangeng.domain.ResponseResult;
import com.sangeng.domain.dto.TagListDto;
import com.sangeng.domain.entity.Tag;
import com.sangeng.domain.vo.PageVo;
import com.sangeng.domain.vo.TagListVo;
import com.sangeng.domain.vo.TagUpdateVo;


/**
 * 标签(Tag)表服务接口
 *
 * @author makejava
 * @since 2023-10-11 10:24:20
 */
public interface TagService extends IService<Tag> {
    /**
     * 获取所有的标签列表
     * @param pageNum
     * @param pageSize
     * @param tagListDto
     * @return
     */

    ResponseResult<PageVo> pageTagList(Integer pageNum, Integer pageSize, TagListDto tagListDto);
    /**
     * 添加标签
     * @param tag
     * @return
     */

    ResponseResult add(Tag tag);
    /**
     * 根据id删除标签
     * @param id
     * @return
     */

    ResponseResult delete(Long id);
    /**
     * 根据id查询数据
     * @param id
     * @return
     */

    ResponseResult<TagUpdateVo> getSingleTag(Long id);
    /**
     * 根据id修改数据
     * @param tag
     * @return
     */

    ResponseResult update(Tag tag);
    /**
     * 获取所有的标签列表
     * @return
     */

    ResponseResult<TagListVo> listAllTag();
}
